package com.ruoyi.system.domain;

import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.util.ArrayList;
import java.util.List;

/**
 * 档案分类对象 record_type
 *
 * @author admin
 * @date 2022-02-19
 */
@Data
public class RecordType extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 分类id
     */
    @Excel(name = "分类编号")
    private String typeId;

    // 是否已创建表。0：未创建，1：已创建。 用于新建动态表。
    @Excel(name = "是否已创建表")
    private String isCreateTb;

    // 建表标识。0：否，1：是。 用于新建动态表。
    @Excel(name = "建表标识")
    private String tbFlag;

    /**
     * 分类名称
     */
    @Excel(name = "分类名称")
    private String typeName;

    /**
     * 分类状态（0正常 1停用）
     */
    @Excel(name = "分类状态，0=正常,1=停用")
    private String status;

    /**
     * 删除标志（0代表存在 2代表删除）
     */
    private String delFlag;

    /**
     * 父菜单ID
     */
    @Excel(name = "父菜单ID")
    private String parentId;

    /**
     * 祖级列表，不需要手动填入，系统自动挂上去
     */
    private String ancestors;

    /**
     * 显示顺序
     */
    @Excel(name = "显示顺序")
    private Integer orderNum;

    /**
     * 分类描述
     */
    @Excel(name = "分类描述")
    private String typeDescribe;

    // 部门表数组，用于前端导入
    /**
     * 所属部门ID
     */
    @Excel(name = "所属部门ID，部门之间用逗号隔开")
    private String deptIdStr;

    /**
     * 子部门
     */
    private List<RecordType> children = new ArrayList<>();

    // 部门ID, 用于数据分权
    private String deptId;

    // 部门表数组，用于多选
    private List<String> deptIds;

}
